package com.smedi.ismedi.progress.core.domain.aggregatemodel;

import com.smedi.ismedi.progress.api.dto.response.OneAndKeyAndMilestoneTaskListResponse;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @Author Cookie
 * @Date 2021/7/13 16:25
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class OneAndKeyAndMilestoneTaskList {
    /**
     * 主键id
     */
    private  Long	id;
    /**
     * 任务名称前缀（序号）
     */
    private  String	namePrefix;
    /**
     * (任务/里程碑)名称
     */
    private  String	name;
    /**
     * 类型(0、里程碑 1、关键任务  3、其他、4一级任务 )
     */
    private  String	type;
    /**
     * 项目id
     */
    private  Long	projectId;
    /**
     * 关联progress_week_month_report表id
     */
    private  String	progressWeekMonthReportId;
    /**
     * 计划开始时间
     */
    private LocalDate scheduleStartTime;
    /**
     * 计划完成时间
     */
    private  LocalDate	scheduleEndTime;
    /**
     * 实际开始时间
     */
    private  LocalDate	realStartTime;
    /**
     * 实际完成时间
     */
    private  LocalDate	realEndTime;
    /**
     * 完成情况(0、未完成  1、完成)
     */
    private  Long	completion;
    /**
     * 进度状态(0、滞后  1、正常)
     */
    private  Long	status;
    /**
     * 滞后时长
     */
    private String lagTime;
//    public void setLagTime(Integer lagTime) {
//        if (lagTime > 0 && lagTime < 30) {
//            String day = lagTime.toString() + "天";
//            this.lagTime = day;
//        } else if (lagTime >= 30 && lagTime < 365) {
//            Integer time = lagTime / 30;
//            if (lagTime % 30 == 0) {
//                String month = time.toString() + "个月";
//                this.lagTime = month;
//            } else {
//                Integer day = lagTime % 30;
//                this.lagTime = time.toString() + "个月" + day + "天";
//            }
//        } else if (lagTime > 365) {
//            Integer time = lagTime / 365;
//            if (lagTime % 365 == 0) {
//                String year = time + "年";
//                this.lagTime = year;
//            } else if (lagTime % 365 >= 30) {
//                Integer month = lagTime % 365 / 30;
//                if (lagTime % 365 == 30) {
//                    this.lagTime = time.toString() + "年" + month.toString() + "月";
//                } else {
//                    Integer day = lagTime % 365 % 30;
//                    this.lagTime = time.toString() + "年" + month.toString() + "月" + day.toString() + "天";
//                }
//            } else {
//                Integer day = lagTime % 365;
//                this.lagTime = time.toString() + "年" + day + "天";
//            }
//        } else {
//            this.lagTime = null;
//        }
//    }
    /**
     * 照片url
     */
    private  String	photoUrl;
    /**
     * 完成百分比
     */
    private  String	percentage;


    /**
     * 附件图片
     */
    private List<File> attachments;
    /**
     * 判断是否可以编辑
     */
    private Integer editFlag;

    /**
     * 父级名称
     */

    private String parentName;

    public OneAndKeyAndMilestoneTaskList(Long id){
        this.id = id;
    }
}
